#include <linux/init.h>
#include <linux/module.h>


static int number;      // int类型
static char *name;      // char指针类型

static int para[8];     // 数组类型
static int n_para;      // 数组元素个数

static char str1[10];    // 字符串类型


module_param(number, int, S_IRUGO);
module_param(name, charp, S_IRUGO);

module_param_array(para, int, &n_para, S_IRUGO);

module_param_string(str,str1, sizeof(str1), S_IRUGO);



static int __init param_init(void)
{
    static int i;
    printk(KERN_EMERG "%d\n", number);
    printk(KERN_EMERG "%s\n", name);

    for (i = 0; i < n_para; i++)
    {
        printk(KERN_EMERG "para[%d]: %d\n", i, para[i]);
    }

    printk(KERN_EMERG "%s\n", str1);
    return 0;
}


static void __exit param_exit(void)
{
    printk(KERN_EMERG "param exit\n");
}


module_init(param_init);
module_exit(param_exit);
MODULE_LICENSE("GPL v2");
MODULE_AUTHOR("Treasure1029");












